<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<title>SemOpt: ExtendedArgument Class Reference</title>

<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
  $(document).ready(initResizable);
</script>


</head>
<body>
<div id="top"><!-- do not remove this div! -->


<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  
  
  <td style="padding-left: 0.5em;">
   <div id="projectname">SemOpt
   &#160;<span id="projectnumber">0.2alpha5-SCC</span>
   </div>
   
  </td>
  
  
  
 </tr>
 </tbody>
</table>
</div>

<!-- Generated by Doxygen 1.7.6.1 -->
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
      <li><a href="files.html"><span>Files</span></a></li>
    </ul>
  </div>
  <div id="navrow2" class="tabs2">
    <ul class="tablist">
      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
    </ul>
  </div>
</div>
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
  initNavTree('classExtendedArgument.html','');
</script>
<div id="doc-content">
<div class="header">
  <div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pub-static-attribs">Static Public Attributes</a>  </div>
  <div class="headertitle">
<div class="title">ExtendedArgument Class Reference</div>  </div>
</div><!--header-->
<div class="contents">
<!-- doxytag: class="ExtendedArgument" -->
<p>Represents a class containing the information used in the Tarjan Algorithm.  
 <a href="classExtendedArgument.html#details">More...</a></p>

<p><a href="classExtendedArgument-members.html">List of all members.</a></p>
<table class="memberdecls">
<tr><td colspan="2"><h2><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExtendedArgument.html#a239d58bb3cf8c95577fb09ae4f46b2f8">ExtendedArgument</a> ()</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">construct a new class  <a href="#a239d58bb3cf8c95577fb09ae4f46b2f8"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExtendedArgument.html#a3800a7420cd181e1e0b45d6aad5ebb69">~ExtendedArgument</a> ()</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">deallocates from the heap an <a class="el" href="classExtendedArgument.html" title="Represents a class containing the information used in the Tarjan Algorithm.">ExtendedArgument</a>  <a href="#a3800a7420cd181e1e0b45d6aad5ebb69"></a><br/></td></tr>
<tr><td colspan="2"><h2><a name="pub-static-attribs"></a>
Static Public Attributes</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a1903d8d062b63df786d229e198307594"></a><!-- doxytag: member="ExtendedArgument::LOWLINKDEFAULT" ref="a1903d8d062b63df786d229e198307594" args="" -->
static const int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExtendedArgument.html#a1903d8d062b63df786d229e198307594">LOWLINKDEFAULT</a> = -1</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">represents the default lowlink value field. Value that is associated to lowlink field when the node has not been explored yet. This value is set to the lowlink field at class construction time. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae549fc7b544a8317cbbd7f995e0dfbd2"></a><!-- doxytag: member="ExtendedArgument::INDEXDEFAULT" ref="ae549fc7b544a8317cbbd7f995e0dfbd2" args="" -->
static const int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExtendedArgument.html#ae549fc7b544a8317cbbd7f995e0dfbd2">INDEXDEFAULT</a> = -1</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">represents the default index value field. Value that is associated to index field when the node has not been explored yet. This value is set to the index field at class construction time. <br/></td></tr>
</table>
<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
<div class="textblock"><p>Represents a class containing the information used in the Tarjan Algorithm. </p>
<p>The class allows you to contains the additional information required to compute successfully the Tarjan algorithm, used in the <a class="el" href="SCCSEQ_8h_source.html">SCCSEQ.h</a> class. The function does <b>NOT</b> incorporate the <a class="el" href="classArgument.html" title="Class representing an Argument.">Argument</a> itself: it only stores the lowlink and index information. This concept may be clearer with a picture: the association between arguments and additional information (ExtendedArguments) is implemented with an external structure (like a map or an unordered_map). In this way we can recover the additional information knowing the arguments, scenario extremely common in the Tarjan Algorithm.</p>
<div align="center">
<img src="dot_inline_dotgraph_1.png" alt="dot_inline_dotgraph_1.png" border="0" usemap="#dot_inline_dotgraph_1.map"/>
<map name="dot_inline_dotgraph_1.map" id="dot_inline_dotgraph_1.map"></map>
</div>
<p>For further information about the Tarjan Algorithm itself, please visit the wikipedia page <a href="http://en.wikipedia.org/wiki/Tarjan's_strongly_connected_components_algorithm">http://en.wikipedia.org/wiki/Tarjan's_strongly_connected_components_algorithm</a>.</p>
<dl class="date"><dt><b>Date:</b></dt><dd>Aug 27, 2013 </dd></dl>
<dl class="author"><dt><b>Author:</b></dt><dd>koldar </dd></dl>
<dl class="copyright"><dt><b>Copyright:</b></dt><dd>GNU Public License v2 </dd></dl>

<p>Definition at line <a class="el" href="ExtendedArgument_8h_source.html#l00008">8</a> of file <a class="el" href="ExtendedArgument_8h_source.html">ExtendedArgument.h</a>.</p>
</div><hr/><h2>Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="a239d58bb3cf8c95577fb09ae4f46b2f8"></a><!-- doxytag: member="ExtendedArgument::ExtendedArgument" ref="a239d58bb3cf8c95577fb09ae4f46b2f8" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classExtendedArgument.html#a239d58bb3cf8c95577fb09ae4f46b2f8">ExtendedArgument::ExtendedArgument</a> </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>construct a new class </p>
<p>build a new <a class="el" href="classExtendedArgument.html" title="Represents a class containing the information used in the Tarjan Algorithm.">ExtendedArgument</a> with: </p>
<ul>
<li>index field set to INDEXDEFAULT; </li>
<li>lowlink field set to LOWLINKDEFAULT;</li>
</ul>
<dl class="post"><dt><b>Postcondition:</b></dt><dd><ul>
<li>a new <a class="el" href="classExtendedArgument.html" title="Represents a class containing the information used in the Tarjan Algorithm.">ExtendedArgument</a> is allocated in the memory and therefore it must be freed <b>manually</b> </li>
</ul>
</dd></dl>

<p>Definition at line <a class="el" href="ExtendedArgument_8cpp_source.html#l00044">44</a> of file <a class="el" href="ExtendedArgument_8cpp_source.html">ExtendedArgument.cpp</a>.</p>

<p>References <a class="el" href="ExtendedArgument_8h_source.html#l00022">INDEXDEFAULT</a>, and <a class="el" href="ExtendedArgument_8h_source.html#l00016">LOWLINKDEFAULT</a>.</p>

</div>
</div>
<a class="anchor" id="a3800a7420cd181e1e0b45d6aad5ebb69"></a><!-- doxytag: member="ExtendedArgument::~ExtendedArgument" ref="a3800a7420cd181e1e0b45d6aad5ebb69" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classExtendedArgument.html#a3800a7420cd181e1e0b45d6aad5ebb69">ExtendedArgument::~ExtendedArgument</a> </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>deallocates from the heap an <a class="el" href="classExtendedArgument.html" title="Represents a class containing the information used in the Tarjan Algorithm.">ExtendedArgument</a> </p>

<p>Definition at line <a class="el" href="ExtendedArgument_8cpp_source.html#l00072">72</a> of file <a class="el" href="ExtendedArgument_8cpp_source.html">ExtendedArgument.cpp</a>.</p>

</div>
</div>
<hr/>The documentation for this class was generated from the following files:<ul>
<li>src/<a class="el" href="ExtendedArgument_8h_source.html">ExtendedArgument.h</a></li>
<li>src/<a class="el" href="ExtendedArgument_8cpp_source.html">ExtendedArgument.cpp</a></li>
</ul>
</div><!-- contents -->
</div>
  <div id="nav-path" class="navpath">
    <ul>
      <li class="navelem"><a class="el" href="classExtendedArgument.html">ExtendedArgument</a>      </li>

    <li class="footer">Generated on Fri Jan 17 2014 11:47:52 for SemOpt by
    <a href="http://www.doxygen.org/index.html">
    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.6.1 </li>
   </ul>
 </div>


</body>
</html>
